package com.project.mapper;

import com.github.pagehelper.PageInfo;
import com.project.bean.PostBean;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

public interface IPostMapper {
    /**
     * 添加主贴
     * @param post
     */
    @Insert("insert into t_post(p_name,p_content,p_user,fk_channelId,p_time,p_replyNum)" +
            "value(#{name},#{content},#{user},#{channel.id},#{date},#{replyNum})")
    public void add(PostBean post);

    /**
     * 动态分页查询全部
     * @param postName 主贴名称
     * @param userName 发帖人
     * @param startDate 起始时间
     * @param endDate 结束时间
     * @return 主贴对象集合
     */
    public List<PostBean> findByItem(@Param("channelId") int id,
                                    @Param("postName") String postName,
                                     @Param("userName") String userName,
                                     @Param("startDate") LocalDateTime startDate,
                                     @Param("endDate") LocalDateTime endDate);
    /**
     * 按id查询主帖信息，同时查询发帖人信息，同时包含该主帖的回帖信息，在回帖信息中，包含回帖人信息
     * @param id
     * @return
     */
    public PostBean findById(int id);
}
